package com.kameiqi.erp.domain.model;

import cn.qqxkj.core.annotation.agile.Page;
import cn.qqxkj.core.annotation.agile.PageField;
import cn.qqxkj.core.common.base.BaseModel;
import com.kameiqi.erp.constant.PermissionMenus;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.math.BigDecimal;

/**
 * 供应商/客户信息表实体类
 * @author 小六子
 * @date 2022-04-23 15:17:32
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@Table(name = "jsh_customer")
@Entity
@Page(cover = true, parentUri = PermissionMenus.INFO)
@ApiModel("客户")
public class Customer extends BaseModel{
    /** 供应商名称 */
    @ApiModelProperty(value="供应商名称")
    @Column(nullable=false)
    @PageField(required=true)
    private String supplier;

    /** 联系人 */
    @ApiModelProperty(value="联系人")
    private String contacts;

    /** 联系电话 */
    @ApiModelProperty(value="联系电话")
    private String phoneNum;

    /** 电子邮箱 */
    @ApiModelProperty(value="电子邮箱")
    private String email;

    /** 备注 */
    @ApiModelProperty(value="备注")
    private String description;

    /** 是否系统自带 0==系统 1==非系统 */
    @ApiModelProperty(value="是否系统自带 0==系统 1==非系统")
    private Integer isystem;

    /** 类型 */
    @ApiModelProperty(value="类型")
    private String type;

    /** 启用 */
    @ApiModelProperty(value="启用")
    private Boolean enabled;

    /** 预收款 */
    @ApiModelProperty(value="预收款")
    @Column(scale=6)
    @PageField(dataScale=6)
    private BigDecimal advanceIn;

    /** 期初应收 */
    @ApiModelProperty(value="期初应收")
    @Column(scale=6)
    @PageField(dataScale=6)
    private BigDecimal beginNeedGet;

    /** 期初应付 */
    @ApiModelProperty(value="期初应付")
    @Column(scale=6)
    @PageField(dataScale=6)
    private BigDecimal beginNeedPay;

    /** 累计应收 */
    @ApiModelProperty(value="累计应收")
    @Column(scale=6)
    @PageField(dataScale=6)
    private BigDecimal allNeedGet;

    /** 累计应付 */
    @ApiModelProperty(value="累计应付")
    @Column(scale=6)
    @PageField(dataScale=6)
    private BigDecimal allNeedPay;

    /** 传真 */
    @ApiModelProperty(value="传真")
    private String fax;

    /** 手机 */
    @ApiModelProperty(value="手机")
    private String telephone;

    /** 地址 */
    @ApiModelProperty(value="地址")
    private String address;

    /** 纳税人识别号 */
    @ApiModelProperty(value="纳税人识别号")
    private String taxNum;

    /** 开户行 */
    @ApiModelProperty(value="开户行")
    private String bankName;

    /** 账号 */
    @ApiModelProperty(value="账号")
    private String accountNumber;

    /** 税率 */
    @ApiModelProperty(value="税率")
    @Column(scale=6)
    @PageField(dataScale=6)
    private BigDecimal taxRate;

    /** 租户id */
    @ApiModelProperty(value="租户id")
    private Long tenantId;

    /** 删除标记，0未删除，1删除 */
    @ApiModelProperty(value="删除标记",notes="删除标记，0未删除，1删除")
    private String deleteFlag;

}
